// RAP [rh] quick access disabled ///******************************************************************************* // * Copyright (c) 2007 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // ******************************************************************************/ // //package org.eclipse.ui.internal.quickaccess; // //import java.util.ArrayList; //import java.util.List; // ///** // * Utility methods for camel case style matching. // * // * @since 3.3 // * // */ //public class CamelUtil { // // /** // * Returns a lowercase string consisting of all initials of the words in the // * given String. Words are separated by whitespace and other special // * characters, or by uppercase letters in a word like CamelCase. // * // * @param s // * the string // * @return a lowercase string containing the first character of every wordin // * the given string. // */ // public static String getCamelCase(String s) { // StringBuffer result = new StringBuffer(); // if (s.length() > 0) { // int index = 0; // while (index != -1) { // result.append(s.charAt(index)); // index = getNextCamelIndex(s, index + 1); // } // } // return result.toString().toLowerCase(); // } // // /** // * Return an array with start/end indices for the characters used for camel // * case matching, ignoring the first (start) many camel case characters. // * For example, getCamelCaseIndices("some CamelCase", 1, 2) will return // * {{5,5},{10,10}}. // * // * @param s the source string // * @param start how many characters of getCamelCase(s) should be ignored // * @param length for how many characters should indices be returned // * @return an array of length start // */ // public static int[][] getCamelCaseIndices(String s, int start, int length) { // List result = new ArrayList(); // int index = 0; // while (start > 0) { // index = getNextCamelIndex(s, index + 1); // start--; // } // while (length > 0) { // result.add(new int[] { index, index }); // index = getNextCamelIndex(s, index + 1); // length--; // } // return (int[][]) result.toArray(new int[result.size()][]); // } // // /** // * Returns the next index to be used for camel case matching. // * // * @param s the string // * @param index the index // * @return the next index, or -1 if not found // */ // public static int getNextCamelIndex(String s, int index) { // char c; // while (index < s.length() // && !(isSeparatorForCamelCase(c = s.charAt(index))) // && Character.isLowerCase(c)) { // index++; // } // while (index < s.length() && isSeparatorForCamelCase(c = s.charAt(index))) { // index++; // } // if (index >= s.length()) { // index = -1; // } // return index; // } // // /** // * Returns true if the given character is to be considered a separator // * for camel case matching purposes. // * // * @param c the character // * @return true if the character is a separator // */ // public static boolean isSeparatorForCamelCase(char c) { // return !Character.isLetterOrDigit(c); // } // //}